<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DataAccess.Core</name>
    </assembly>
    <members>
        <member name="T:DataAccess.Core.Linq.Common.Translation.SelectGatherer">
            <summary>
            returns the list of SelectExpressions accessible from the source expression
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Expressions.DbExpressionVisitor">
            <summary>
            An extended expression visitor including custom DbExpression nodes
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.ColumnProjector">
            <summary>
            Splits an expression into two parts
              1) a list of column declarations for sub-expressions that must be evaluated on the server
              2) a expression that describes how to combine/project the columns back together into the correct result
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.AggregateChecker">
            <summary>
            Determines if a SelectExpression contains any aggregate expressions
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Expressions.IsNullExpression">
            <summary>
            Allows is-null tests against value-types like int and float
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Enums.OrderType">
            <summary>
            An SQL OrderBy order type 
            </summary>
        </member>
        <member name="T:DataAccess.Core.Interfaces.ITypeInformationParser">
            <summary>
            Represents a class responsible for parsing information from a type
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ITypeInformationParser.GetTypeFields(System.Type)">
            <summary>
            Gets the types fields.
            </summary>
            <param name="dataType">The type to parse</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ITypeInformationParser.GetPrimaryKeys(System.Type)">
            <summary>
            Gets the primary keys for a type
            </summary>
            <param name="dataType">The type to parse</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ITypeInformationParser.GetTypeInfo(System.Type)">
            <summary>
            Gets a lot of information from a type
            </summary>
            <param name="type">The type to parse</param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.DataStoreException">
            <summary>
            Represents a data store error
            </summary>
        </member>
        <member name="M:DataAccess.Core.DataStoreException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DataAccess.Core.DataStoreException"/> class.
            </summary>
            <param name="msg">The message.</param>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.DeclaredAliasGatherer">
            <summary>
             returns the set of all aliases produced by a query source
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Language.QueryLinguist.Translate(System.Linq.Expressions.Expression)">
            <summary>
            Provides language specific query translation.  Use this to apply language specific rewrites or
            to make assertions/validations about the query.
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Language.QueryLinguist.Format(System.Linq.Expressions.Expression)">
            <summary>
            Converts the query expression into text of this query language
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Language.QueryLinguist.Parameterize(System.Linq.Expressions.Expression)">
            <summary>
            Determine which sub-expressions must be parameters
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Expressions.DbExpressionWriter">
            <summary>
            Writes out an expression tree (including DbExpression nodes) in a C#-ish syntax
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.ExpressionWriter">
            <summary>
            Writes out an expression tree in a C#-ish syntax
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.DeferredList`1">
            <summary>
            A list implementation that is loaded the first time the contents are examined
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:DataAccess.Core.Linq.Interfaces.IDeferLoadable">
            <summary>
            Common interface for controlling defer-loadable types
            </summary>
        </member>
        <member name="T:DataAccess.Core.DatabaseCommandGenerator">
            <summary>
            Generates various types of data store Commands
            </summary>
        </member>
        <member name="T:DataAccess.Core.Interfaces.ICommandGenerator">
            <summary>
            Generates various types of data store Commands
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetInsertCommand(System.Object)">
            <summary>
            Returns a command for inserting one object
            </summary>
            <param name="item">The object to insert</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetInsertCommand(System.Collections.IList)">
            <summary>
            Returns a command for inserting a list of objects
            </summary>
            <param name="items">The objects to insert</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetUpdateCommand(System.Object)">
            <summary>
            Returns a command for performing an update on an object
            </summary>
            <param name="item">The object to update</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetUpdateCommand(System.Collections.IList)">
            <summary>
            Returns a command for performing an update on multiple objects
            </summary>
            <param name="items">The objects to update</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetSelectCommand(System.Object,System.Boolean)">
            <summary>
            Generates a select for a single object
            </summary>
            <param name="item">The item to load (primary key needs to be set)</param>
            <param name="LoadAllFields">if true, the load field on type info will be ignored</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetDeleteCommand(System.Object)">
            <summary>
            Generates a delete command for one object (primary key is required)
            </summary>
            <param name="item">The item to remove</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.LoadEntireTableCommand(System.Type)">
            <summary>
            Generates a command appropriate for loading an entire table from the data store
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetTablesCommand">
            <summary>
            Returns a command for loading data on all tables in the data store
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetColumnsCommand">
            <summary>
            Returns a command for loading data on all columns in the data store
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetAddTableCommand(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Returns a command for creating a new table
            </summary>
            <param name="ti">The type to create a table for</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetRemoveColumnCommand(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.DataFieldInfo)">
            <summary>
            Returns a command for removing a column from a table
            </summary>
            <param name="type">The type to remove the column from</param>
            <param name="dfi">The column to remove</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetAddColumnCommnad(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.DataFieldInfo)">
            <summary>
            Returns a command for adding a column to a table
            </summary>
            <param name="type">The type to add the column to</param>
            <param name="dfi">The column to add</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetModifyColumnCommand(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.DataFieldInfo)">
            <summary>
            Returns a command for modifying a column to the specified type
            </summary>
            <param name="type">The type to modify</param>
            <param name="dfi">The column to modify</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetModifyColumnCommand(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.DataFieldInfo,System.String)">
            <summary>
            Returns a command for modifying a column to the specified type
            </summary>
            <param name="type">The type to modify</param>
            <param name="dfi">The column to modify</param>
            <param name="targetFieldType">The type to change the field to</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.ResolveTableName(System.Type)">
            <summary>
            Returns the name of the table (schema.table)
            </summary>
            <param name="type">The type</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.ResolveFieldName(System.String,System.Type)">
            <summary>
            Returns the name of a column
            </summary>
            <param name="PropertyName">The objects property to use</param>
            <param name="type">The type</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetSelectList(System.Type,System.Boolean)">
            <summary>
            Returns a list of columns comma separated, appropriate for select from
            </summary>
            <param name="type">The type</param>
            <param name="LoadAllFields">Honor LoadFieldAttribute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.GetSelectFields(System.Type,System.Boolean)">
            <summary>
            Returns a list of columns, appropriate for selecting
            </summary>
            <param name="type">The type</param>
            <param name="LoadAllFields">Honor LoadFieldAttribute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.AppendInClause(System.String,System.Collections.IList,System.Text.StringBuilder,System.Data.IDbCommand,DataAccess.Core.Data.ConstraintType)">
            <summary>
            Generates an IN() clause
            </summary>
            <param name="fieldName">The parameters name</param>
            <param name="objects">The objects to select on</param>
            <param name="appendTo">The string builder to append to</param>
            <param name="cmdAppend">The command to add the parameters to</param>
            <param name="Type">The Type of constraint, defaults to AND</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.AppendWhereItem(System.String,System.Object,DataAccess.Core.Data.WhereType,System.Text.StringBuilder,System.Data.IDbCommand,DataAccess.Core.Data.ConstraintType)">
            <summary>
            Appends a restraint to a where, note it will add a comma if needed
            </summary>
            <param name="field">The field</param>
            <param name="value">The value of the field</param>
            <param name="type">The type of constraint</param>
            <param name="appendTo">The string builder to append to</param>
            <param name="cmdAppend">the command to add the parameters to</param>
            <param name="Type">The Type of constraint, defaults to AND</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ICommandGenerator.TranslateTypeToSql(DataAccess.Core.Data.DataFieldInfo)">
            <summary>
            Translates a type to SQL equivalent
            </summary>
            <param name="type">The type.</param>
            <returns></returns>
        </member>
        <member name="P:DataAccess.Core.Interfaces.ICommandGenerator.DataStore">
            <summary>
            The data store this instance is using
            </summary>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetAddTableCommand(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Returns a command for creating a new table
            </summary>
            <param name="ti">The type to create a table for</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetRemoveColumnCommand(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.DataFieldInfo)">
            <summary>
            Returns a command for removing a column from a table
            </summary>
            <param name="type">The type to remove the column from</param>
            <param name="dfi">The column to remove</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetAddColumnCommnad(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.DataFieldInfo)">
            <summary>
            Returns a command for adding a column to a table
            </summary>
            <param name="type">The type to add the column to</param>
            <param name="dfi">The column to add</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetModifyColumnCommand(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.DataFieldInfo,System.String)">
            <summary>
            Returns a command for modifying a column to the specified type
            </summary>
            <param name="type">The type to modify</param>
            <param name="dfi">The column to modify</param>
            <param name="targetFieldType">The type to change the field to</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetTablesCommand">
            <summary>
            Returns a command for loading data on all tables in the data store
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetColumnsCommand">
            <summary>
            Returns a command for loading data on all columns in the data store
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.LoadEntireTableCommand(System.Type)">
            <summary>
            Generates a command appropriate for loading an entire table from the data store
            </summary>
            <param name="item">The type to load</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetModifyColumnCommand(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.DataFieldInfo)">
            <summary>
            Returns a command for modifying a column to the specified type
            </summary>
            <param name="type">The type to modify</param>
            <param name="dfi">The column to modify</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.BuildFieldList(System.Collections.Generic.List{DataAccess.Core.Data.ParameterData})">
            <summary>
            Builds the field list.
            </summary>
            <param name="parms">The parms.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.AppendParameters(System.Collections.Generic.List{DataAccess.Core.Data.ParameterData},System.Data.IDbCommand)">
            <summary>
            Appends the parameters.
            </summary>
            <param name="parms">The parms.</param>
            <param name="command">The command.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetInsertCommand(System.Object)">
            <summary>
            Returns a command for inserting one object
            </summary>
            <param name="item">The object to insert</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetInsertCommand(System.Collections.IList)">
            <summary>
            Returns a command for inserting a list of objects
            </summary>
            <param name="items">The objects to insert</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetUpdateCommand(System.Object)">
            <summary>
            Returns a command for performing an update on an object
            </summary>
            <param name="item">The object to update</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetUpdateCommand(System.Collections.IList)">
            <summary>
            Returns a command for performing an update on multiple objects
            </summary>
            <param name="items">The objects to update</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetObjectParameters(System.Int32,System.Object,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Gets the object parameters.
            </summary>
            <param name="startingIndex">The number of parameters you already have.</param>
            <param name="item">The item.</param>
            <param name="TypeInfo">The type info.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetSelectCommand(System.Object,System.Boolean)">
            <summary>
            Generates a select for a single object
            </summary>
            <param name="item">The item to load (primary key needs to be set)</param>
            <param name="LoadAllFields">if true, the load field on type info will be ignored</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetDeleteCommand(System.Object)">
            <summary>
            Generates a delete command for one object (primary key is required)
            </summary>
            <param name="item">The item to remove</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetSelectFields(System.Type,System.Boolean)">
            <summary>
            Returns a list of columns, appropriate for selecting
            </summary>
            <param name="type">The type</param>
            <param name="LoadAllFields">Honor LoadFieldAttribute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetSelectList(System.Type,System.Boolean)">
            <summary>
            Returns a list of columns comma separated, appropriate for select from
            </summary>
            <param name="type">The type</param>
            <param name="LoadAllFields">Honor LoadFieldAttribute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.ResolveTableName(System.Type)">
            <summary>
            Returns the name of the table (schema.table)
            </summary>
            <param name="type">The type</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.ResolveTableName(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Resolves the name of the table.
            </summary>
            <param name="ti">The ti.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.ResolveTableName(DataAccess.Core.Data.TypeInfo,System.Boolean)">
            <summary>
            Resolves the name of the table.
            </summary>
            <param name="ti">The ti.</param>
            <param name="EscapeTableName">Should the table name be escaped</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.ResolveFieldName(System.String,System.Type)">
            <summary>
            Returns the name of a column
            </summary>
            <param name="PropertyName">The objects property to use</param>
            <param name="type">The type</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.TranslateTypeToSql(DataAccess.Core.Data.DataFieldInfo)">
            <summary>
            Translates a type to SQL equivalent
            </summary>
            <param name="type">The type.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.TranslateFkeyType(DataAccess.Core.Data.ForeignKeyType)">
            <summary>
            Translates the a foreign key constraint to a sql friendly string
            </summary>
            <param name="foreignKeyType">Type of the foreign key.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.AppendInClause(System.String,System.Collections.IList,System.Text.StringBuilder,System.Data.IDbCommand,DataAccess.Core.Data.ConstraintType)">
            <summary>
            Generates an IN() clause
            </summary>
            <param name="fieldName">The fields name</param>
            <param name="objects">The objects to select on</param>
            <param name="appendTo">The string builder to append to</param>
            <param name="cmdAppend">The command to add the parameters to</param>
            <param name="Type">The Type of constraint, defaults to AND</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.EscapeFieldName(System.String,System.Text.StringBuilder)">
             <summary>
             escapes the field name of a field, will account for an alias/table name or similar
             </summary>
             <param name="parmName"></param>
            <param name="appendTo">The sb to append the field to</param>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.AppendWhereItem(System.String,System.Object,DataAccess.Core.Data.WhereType,System.Text.StringBuilder,System.Data.IDbCommand,DataAccess.Core.Data.ConstraintType)">
            <summary>
            Appends a restraint to a where, note it will add a comma if needed
            </summary>
            <param name="field">The field</param>
            <param name="value">The value of the field</param>
            <param name="type">The type of constraint</param>
            <param name="appendTo">The string builder to append to</param>
            <param name="cmdAppend">the command to add the parameters to</param>
            <param name="Type">The Type of constraint, defaults to AND</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GenWhere(System.String,DataAccess.Core.Data.WhereType)">
            <summary>
            Escapes the field and puts the pieces of the where together
            </summary>
            <param name="parm">The parm.</param>
            <param name="type">The type.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DatabaseCommandGenerator.GetWhereString(DataAccess.Core.Data.WhereType)">
            <summary>
            Translates the where ype to sql
            </summary>
            <param name="type">the wheretype</param>
            <returns></returns>
        </member>
        <member name="P:DataAccess.Core.DatabaseCommandGenerator.DataStore">
            <summary>
            The data store this instance is using
            </summary>
            <value></value>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.SingletonProjectionRewriter">
            <summary>
            Rewrites nested singleton projection into server-side joins
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.QueryProvider">
            <summary>
            A basic abstract LINQ query provider
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:DataAccess.Core.Linq.Interfaces.IQueryText" -->
        <member name="T:DataAccess.Core.Linq.Common.ColumnDeclaration">
            <summary>
            A declaration of a column in a SQL SELECT expression
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.RedundantSubqueryRemover">
            <summary>
            Removes select expressions that don't add any additional semantic value
            </summary>
        </member>
        <member name="T:DataAccess.Core.Data.TypeInfo">
            <summary>
            Resolved type information
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.DataType">
            <summary>
            The type this is for
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.UnescapedTableName">
            <summary>
            The Table name
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.TableName">
            <summary>
            The resolved table name (escaped)
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.BypassValidation">
            <summary>
            Should this type be validated against the data store
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.Schema">
            <summary>
            The schema this table belongs to (escaped)
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.UnEscapedSchema">
            <summary>
            The schema this table belongs to
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.DataFields">
            <summary>
            The fields on this type (non ignored only)
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.AdditionalInit">
            <summary>
            Additional init functions
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.TypeInfo.PrimaryKeys">
            <summary>
            The primary keys for this type
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.QueryDuplicator">
            <summary>
            Duplicate the query expression by making a copy with new table aliases
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.QueryCompiler">
            <summary>
            Creates a reusable, parameterized representation of a query that caches the execution plan
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Query`1">
            <summary>
            A default implementation of IQueryable for use with QueryProvider
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:DataAccess.Core.Linq.Grouping`2" -->
        <member name="T:DataAccess.Core.Linq.Common.Expressions.ProjectionExpression">
            <summary>
            A custom expression representing the construction of one or more result objects from a 
            SQL select expression
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Expressions.Aggregator.GetAggregator(System.Type,System.Type)">
            <summary>
            Get a function that coerces a sequence of one type into another type.
            This is primarily used for aggregators stored in ProjectionExpression's, which are used to represent the 
            final transformation of the entire result set of a query.
            </summary>
            <param name="expectedType"></param>
            <param name="projector"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.ProjectedColumns">
            <summary>
            Result from calling ColumnProjector.ProjectColumns
            </summary>
        </member>
        <member name="T:DataAccess.Core.Interfaces.IExecuteDatabaseCommand">
            <summary>
            Represents a class for executing data store commands
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IExecuteDatabaseCommand.ExecuteCommandQuery(System.Data.IDbCommand,DataAccess.Core.Interfaces.IDataConnection)">
            <summary>
            Executes a command and returns the result
            </summary>
            <param name="command">The command to execute</param>
            <param name="connection">The connection to use</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IExecuteDatabaseCommand.ExecuteCommand(System.Data.IDbCommand,DataAccess.Core.Interfaces.IDataConnection)">
            <summary>
            Executes a command on the data store
            </summary>
            <param name="command">The command to execute</param>
            <param name="connection">The connection to use</param>
        </member>
        <member name="T:DataAccess.Core.Data.Column">
            <summary>
            Information about a database column
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.Column.Name">
            <summary>
            The columns name
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.Column.DataType">
            <summary>
            The columns data type
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.Column.DefaultValue">
            <summary>
            The default value of the column, as reported by the data store
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.Column.IsPrimaryKey">
            <summary>
            True if the data store reports the column as the primary key
            </summary>
        </member>
        <member name="T:DataAccess.Core.Attributes.BypassValidationAttribute">
            <summary>
            Indicates that the type should not be validated against the db schema, useful for views and stored procedures
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.Parameterizer">
            <summary>
            Converts user arguments into named-value parameters
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.QueryLanguage">
            <summary>
            Defines the language rules for the query provider
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.QueryLanguage.IsScalar(System.Type)">
            <summary>
            Determines whether the CLR type corresponds to a scalar data type in the query language
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.QueryLanguage.CanBeColumn(System.Linq.Expressions.Expression)">
            <summary>
            Determines whether the given expression can be represented as a column in a select expressionss
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Mapping.QueryMapper.GetQueryExpression(DataAccess.Core.Linq.Common.Mapping.MappingEntity)">
            <summary>
            Get a query expression that selects all entities from a table
            </summary>
            <param name="rowType"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Mapping.QueryMapper.GetEntityExpression(System.Linq.Expressions.Expression,DataAccess.Core.Linq.Common.Mapping.MappingEntity)">
            <summary>
            Gets an expression that constructs an entity instance relative to a root.
            The root is most often a TableExpression, but may be any other expression such as
            a ConstantExpression.
            </summary>
            <param name="root"></param>
            <param name="entity"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Mapping.QueryMapper.GetMemberExpression(System.Linq.Expressions.Expression,DataAccess.Core.Linq.Common.Mapping.MappingEntity,System.Reflection.MemberInfo)">
            <summary>
            Get an expression for a mapped property relative to a root expression. 
            The root is either a TableExpression or an expression defining an entity instance.
            </summary>
            <param name="root"></param>
            <param name="entity"></param>
            <param name="member"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Mapping.QueryMapper.IncludeMembers(DataAccess.Core.Linq.Common.Expressions.EntityExpression,System.Func{System.Reflection.MemberInfo,System.Boolean})">
            <summary>
            Recreate the type projection with the additional members included
            </summary>
            <param name="entity"></param>
            <param name="fnIsIncluded"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Mapping.QueryMapper.HasIncludedMembers(DataAccess.Core.Linq.Common.Expressions.EntityExpression)">
            <summary>
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Mapping.QueryMapper.ApplyMapping(System.Linq.Expressions.Expression)">
            <summary>
            Apply mapping to a sub query expression
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Mapping.QueryMapper.Translate(System.Linq.Expressions.Expression)">
            <summary>
            Apply mapping translations to this expression
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.Attributes.TableNameAttribute">
            <summary>
            Allows the table name/schema to be specified
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.TableNameAttribute.TableName">
            <summary>
            Indicates the table name
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.TableNameAttribute.Schema">
            <summary>
            Indicates the tables schema
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Nominator">
            <summary>
            Performs bottom-up analysis to determine which nodes can possibly
            be part of an evaluated sub-tree.
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Mapping.BasicMapper.GetColumnType(DataAccess.Core.Linq.Common.Mapping.MappingEntity,System.Reflection.MemberInfo)">
            <summary>
            The query language specific type for the column
            </summary>
            <param name="member"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.Data.QueryData">
            <summary>
            Holds the query result data
            </summary>
        </member>
        <member name="M:DataAccess.Core.Data.QueryData.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:DataAccess.Core.Data.QueryData.AddFieldMapping(System.String,System.Int32)">
            <summary>
            Add a field mapping
            </summary>
            <param name="field">The field name</param>
            <param name="location">The location the field is in the rows</param>
        </member>
        <member name="M:DataAccess.Core.Data.QueryData.AddRowData(System.Object[])">
            <summary>
            Adds a row of data
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:DataAccess.Core.Data.QueryData.FieldHasMapping(System.String)">
            <summary>
            Indicates if a field contains a mapping
            </summary>
            <param name="field"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Data.QueryData.GetDataForRowField(System.Int32,System.Int32)">
            <summary>
            Returns the data for a given field and row
            </summary>
            <param name="field">The fields location</param>
            <param name="row">The row</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Data.QueryData.GetDataForRowField(System.String,System.Int32)">
            <summary>
            Returns the data for a given field and row
            </summary>
            <param name="field">The fields name</param>
            <param name="row">The row index</param>
            <returns></returns>
        </member>
        <member name="P:DataAccess.Core.Data.QueryData.QuerySuccessful">
            <summary>
            Indicates if the query was successful
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.QueryData.RowCount">
            <summary>
            Indicates the number of rows returned in the result set
            </summary>
        </member>
        <member name="T:DataAccess.Core.Data.ParameterData">
            <summary>
            Holds Command Parameters
            </summary>
        </member>
        <member name="M:DataAccess.Core.Data.ParameterData.#ctor(System.Data.IDbDataParameter,System.String)">
            <summary>
            Default constructor
            </summary>
            <param name="parm">The parameter object</param>
            <param name="field">The field its for</param>
        </member>
        <member name="P:DataAccess.Core.Data.ParameterData.Parameter">
            <summary>
            The parameter object
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.ParameterData.Field">
            <summary>
            The field its for
            </summary>
        </member>
        <member name="T:DataAccess.Core.Data.ForeignKeyType">
            <summary>
            The types of supported foreign key relationships
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.ForeignKeyType.NoAction">
            <summary>
            Indicates the data store should take no action
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.ForeignKeyType.Cascade">
            <summary>
            Cascading deletes and updates
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.ForeignKeyType.SetNull">
            <summary>
            Set null on delete
            </summary>
        </member>
        <member name="T:DataAccess.Core.Data.DataFieldInfo">
            <summary>
            Information about a field on a Type
            </summary>
        </member>
        <member name="M:DataAccess.Core.Data.DataFieldInfo.#ctor">
            <summary>
            Default constructor, initializes ForeignKeyType=Cascade
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.DataFieldInfo.Getter">
            <summary>
            Call to get the value of the property
            object (instance), null
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.DataFieldInfo.Setter">
            <summary>
            Call to set the value of the property
            object (instance), value (what to set it to) , null
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.DataFieldType">
            <summary>
            The user specified data field type, if any
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.DefaultValue">
            <summary>
            The parsed default value
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.FieldName">
            <summary>
            The resolved field name for the column in the data store
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.EscapedFieldName">
            <summary>
            The resolved field name for the column in the data store, surrounded by escape characters
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.PropertyName">
            <summary>
            The name of the property on the object
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.PrimaryKey">
            <summary>
            Indicates if the field was resolved as a primary key
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.SetOnInsert">
            <summary>
            Indicates the field was marked for inserting
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.LoadField">
            <summary>
            Indicates the field was marked for loading
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.PrimaryKeyType">
            <summary>
            The type that was indicated to contain a primary key for this field
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.PropertyType">
            <summary>
            The data type of this property
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.DataFieldInfo.ForeignKeyType">
            <summary>
            The type of the foreign key relationship (if applicable)
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.CrossJoinIsolator">
            <summary>
            Isolates cross joins from other types of joins using nested sub queries
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.ColumnMapper">
            <summary>
            Rewrite all column references to one or more aliases to a new single alias
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.AggregateRewriter">
            <summary>
            Rewrite aggregate expressions, moving them into same select expression that has the group-by clause
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.StrongDelegate">
            <summary>
            Make a strongly-typed delegate to a weakly typed method (one that takes single object[] argument)
            (up to 8 arguments)
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.StrongDelegate.CreateDelegate(System.Type,System.Object,System.Reflection.MethodInfo)">
            <summary>
            Create a strongly typed delegate over a method with a weak signature
            </summary>
            <param name="delegateType">The strongly typed delegate's type</param>
            <param name="target"></param>
            <param name="method">Any method that takes a single array of objects and returns an object.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.StrongDelegate.CreateDelegate(System.Type,System.Func{System.Object[],System.Object})">
            <summary>
            Create a strongly typed delegate over a Func delegate with weak signature
            </summary>
            <param name="delegateType"></param>
            <param name="fn"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.FakeSchemaValidator">
            <summary>
            This schema validator does nothing
            </summary>
        </member>
        <member name="T:DataAccess.Core.Interfaces.ISchemaValidator">
            <summary>
            Represents an object that will perform schema validation/modification on a data store
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ISchemaValidator.GetTables(System.Boolean)">
            <summary>
            Returns the tables from the data store
            </summary>
            <param name="forceReload">Forces a fetch of a fresh copy</param>>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ISchemaValidator.GetTables">
            <summary>
            Returns the tables from the data store
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ISchemaValidator.AddTable(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Returns the tables from the data store
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ISchemaValidator.RemoveColumn(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Removed a column from a data table
            </summary>
            <param name="field">The field to remove</param>
            <param name="ti">The type to remove it from</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ISchemaValidator.ValidateType(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Performs schema validation/modification to match the type
            </summary>
            <param name="typeInfo"></param>
        </member>
        <member name="M:DataAccess.Core.FakeSchemaValidator.GetTables">
            <summary>
            Always returns an empty list
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.FakeSchemaValidator.AddTable(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Always returns null
            </summary>
            <param name="ti"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.FakeSchemaValidator.AddColumn(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Always returns true
            </summary>
        </member>
        <member name="M:DataAccess.Core.FakeSchemaValidator.RemoveColumn(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Always returns true
            </summary>
        </member>
        <member name="M:DataAccess.Core.FakeSchemaValidator.ValidateType(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Does nothing
            </summary>
        </member>
        <member name="M:DataAccess.Core.FakeSchemaValidator.GetTables(System.Boolean)">
            <summary>
            Always returns an empty list
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.TypeHelper">
            <summary>
            Type related helper methods
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.RedundantJoinRemover">
            <summary>
            Removes joins expressions that are identical to joins that already exist
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Expressions.TableExpression">
            <summary>
            A custom expression node that represents a table reference in a SQL query
            </summary>
        </member>
        <member name="T:DataAccess.Core.Attributes.AdditionalInitAttribute">
            <summary>
            Indictates that the function should be called when an object is loaded
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.TypedSubtreeFinder">
            <summary>
            Finds the first sub-expression that is of a specified type
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.RelationshipIncluder">
            <summary>
            Adds relationship to query results depending on policy
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.ReferencedColumnGatherer">
            <summary>
            Gathers all columns referenced by the given expression
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.ReferencedAliasGatherer">
            <summary>
             returns the set of all aliases produced by a query source
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.QueryBinder">
            <summary>
            Converts LINQ query operators to into custom DbExpression's
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Expressions.DbExpressionComparer">
            <summary>
            Determines if two expressions are equivalent. Supports DbExpression nodes.
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.ExpressionComparer">
            <summary>
            Compare two expressions to determine if they are equivalent
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.RedundantColumnRemover">
            <summary>
            Removes duplicate column declarations that refer to the same underlying column
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.CrossApplyRewriter">
            <summary>
            Attempts to rewrite cross-apply and outer-apply joins as inner and left-outer joins
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:DataAccess.Core.Linq.QueryTranslator" -->
        <member name="T:DataAccess.Core.Linq.Common.Expressions.OrderExpression">
            <summary>
            A pairing of an expression and an order type for use in a SQL Order By clause
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Expressions.DbExpressionReplacer">
            <summary>
            Replaces references to one specific instance of an expression node with another node.
            Supports DbExpression nodes
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.ExpressionReplacer">
            <summary>
            Replaces references to one specific instance of an expression node with another node
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.Executor.GetCommand(DataAccess.Core.Linq.QueryCommand,System.Object[])">
            <summary>
            Get an ADO command object initialized with the command-text and parameters
            </summary>
            <param name="commandText"></param>
            <param name="paramNames"></param>
            <param name="paramValues"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.Linq.Enums.JoinType">
            <summary>
            A kind of SQL join
            </summary>
        </member>
        <member name="T:DataAccess.Core.Interfaces.IDataConnection">
            <summary>
            A connection to a data store
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataConnection.GetConnection">
            <summary>
            Gets the connection.
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataConnection.GetCommand">
            <summary>
            Gets a data command for this connection type
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataConnection.GetParameter">
            <summary>
            Gets a data parameter for this connection type
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataConnection.GetParameter(System.String,System.Object)">
            <summary>
            Gets a data parameter for this connection type
            </summary>
            <param name="name">The parameters name</param>
            <param name="value">The value of the parameter</param>
            <returns></returns>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataConnection.TypeConverter">
            <summary>
            The type converter for this data store
            </summary>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataConnection.CommandGenerator">
            <summary>
            The command generator for this data store
            </summary>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataConnection.LeftEscapeCharacter">
            <summary>
            the data stores escape character (left side)
            </summary>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataConnection.RightEscapeCharacter">
            <summary>
            the data stores escape character (right side)
            </summary>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataConnection.DefaultSchema">
            <summary>
            The default schema for this data store
            </summary>
        </member>
        <member name="T:DataAccess.Core.Data.Table">
            <summary>
            Information about a database table
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.Table.Schema">
            <summary>
            the schema the table is in
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.Table.Name">
            <summary>
            The Table name
            </summary>
        </member>
        <member name="P:DataAccess.Core.Data.Table.Columns">
            <summary>
            The tables columns
            </summary>
        </member>
        <member name="T:DataAccess.Core.SchemaValidator">
            <summary>
            Performs schema validation/modification of a data store table
            </summary>
        </member>
        <member name="F:DataAccess.Core.SchemaValidator._tables">
            <summary>
            The list of tables currently stored for, will sometimes be null
            </summary>
        </member>
        <member name="M:DataAccess.Core.SchemaValidator.#ctor(DataAccess.Core.Interfaces.IDataStore)">
            <summary>
            Initializes a new instance of the <see cref="T:DataAccess.Core.SchemaValidator"/> class.
            </summary>
            <param name="dStore">The data store to grab the connection from</param>
        </member>
        <member name="M:DataAccess.Core.SchemaValidator.GetTables(System.Boolean)">
            <summary>
            Returns the tables from the data store
            </summary>
            <param name="forceReload">Forces a fetch of a fresh copy</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.SchemaValidator.GetTables">
            <summary>
            Gets the tables.
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.SchemaValidator.AddTable(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Returns the tables from the data store
            </summary>
            <param name="ti"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.SchemaValidator.AddColumn(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Adds the column.
            </summary>
            <param name="field">The field to add</param>
            <param name="ti">The type its being added to</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.SchemaValidator.RemoveColumn(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Removed a column from a data table
            </summary>
            <param name="field">The field to remove</param>
            <param name="ti">The type to remove it from</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.SchemaValidator.ModifyColumn(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Modifies a column from a data table
            </summary>
            <param name="field">The field to modify</param>
            <param name="ti">The type that contains it</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.SchemaValidator.ValidateType(DataAccess.Core.Data.TypeInfo)">
            <summary>
            Performs schema validation/modification to match the type
            </summary>
            <param name="typeInfo"></param>
        </member>
        <member name="P:DataAccess.Core.SchemaValidator.DataStore">
            <summary>
            The data store that is using this validator
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.UnusedColumnRemover">
            <summary>
            Removes column declarations in SelectExpression's that are not referenced
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.CrossJoinRewriter">
            <summary>
            Attempt to rewrite cross joins as inner joins
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Expressions.JoinExpression">
            <summary>
            A custom expression node representing a SQL join clause
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Expressions.ColumnExpression">
            <summary>
            A custom expression node that represents a reference to a column in a SQL query
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Enums.DbExpressionType">
            <summary>
            Extended node types for custom expressions
            </summary>
        </member>
        <member name="T:DataAccess.Core.Interfaces.IDataStore">
            <summary>
            Represents a data store
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.ExecuteQuery(System.Data.IDbCommand)">
            <summary>
            Executes a command
            </summary>
            <param name="command">The command to execute</param>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.InsertObject(System.Object)">
            <summary>
            Inserts an object
            </summary>
            <param name="item">The item.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.LoadObject(System.Type,System.Object)">
            <summary>
            Loads an object
            </summary>
            <param name="item">The type to load</param>
            <param name="PrimaryKey">The primary key.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.LoadObject``1(System.Object)">
            <summary>
            Loads an object
            </summary>
            <typeparam name="T">The type to load</typeparam>
            <param name="PrimaryKey">The primary key.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.LoadObject(System.Type,System.Object,System.Boolean)">
            <summary>
            Loads an object.
            </summary>
            <param name="item">The type to load.</param>
            <param name="key">The primary field</param>
            <param name="LoadAllFields">if set to <c>true</c> [The load field attribute tag is ignored].</param>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.LoadObject``1(System.Object,System.Boolean)">
            <summary>
            Loads an object
            </summary>
            <typeparam name="T">The type to load</typeparam>
            <param name="PrimaryKey">The primary key</param>
            <param name="LoadAllFields">if set to <c>true</c> [The load field attribute tag is ignored].</param>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.ExecuteCommandLoadObject``1(System.Data.IDbCommand)">
            <summary>
            Execute a command an loads an object
            </summary>
            <typeparam name="T">The type to load</typeparam>
            <param name="command">The command to execute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.DeleteObject(System.Type,System.Object)">
            <summary>
            Deletes an object
            </summary>
            <param name="item">The type to delete</param>
            <param name="key">The primary key to delete on</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.DeleteObject``1(System.Object)">
            <summary>
            Deletes an object
            </summary>
            <typeparam name="T">The type to delete</typeparam>
            <param name="primaryKey">The primary key to delete on></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.LoadEntireTable(System.Type)">
            <summary>
            Loads an entire table
            </summary>
            <param name="item">The type to load</param>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.LoadEntireTable``1">
            <summary>
            Loads an entire table
            </summary>
            <typeparam name="T">The type to load</typeparam>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.GetTableName(System.Type)">
            <summary>
            Returns the resolved table name for a type
            </summary>
            <param name="t">The type</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.GetTableName``1">
            <summary>
            Returns the resolved table name for a type
            </summary>
            <typeparam name="T">The type</typeparam>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.ExecuteCommandLoadList(System.Type,System.Data.IDbCommand)">
            <summary>
            Executes a command and loads a list
            </summary>
            <param name="objectType">The type to load in the list</param>
            <param name="command">The command to execute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.ExecuteCommandLoadList``1(System.Data.IDbCommand)">
            <summary>
            Executes a command and loads a list
            </summary>
            <typeparam name="T">The type to load in the list</typeparam>
            <param name="command">The command to execute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.GetKeyForItemType(System.Type,System.Object)">
            <summary>
            Returns the key value for an object
            </summary>
            <param name="type">The type to check</param>
            <param name="item">The object to extract from</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.LoadObject(System.Object)">
            <summary>
            Loads an object from the data store, the key must be set
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.LoadObject(System.Object,System.Boolean)">
            <summary>
            Loads an object from the data store, the key must be set
            </summary>
            <param name="item">The object to load</param>
            <param name="LoadAllFields">If true the loadfield=false will be ignored</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.InsertObjects(System.Collections.IList)">
            <summary>
            Inserts a list of items into the data store
            </summary>
            <param name="items">The items to insert</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.IsNew(System.Object)">
            <summary>
            Determines if an object already exists in the data store, based on the primary key
            </summary>
            <param name="item">The object to check</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.UpdateObject(System.Object)">
            <summary>
            Updates an object on the data store, primary key must be set
            </summary>
            <param name="item">The item to update</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.DeleteObject(System.Object)">
            <summary>
            Deletes an objet from the data store, primary key must be set
            </summary>
            <param name="item">The item to remove</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.ExecuteCommand(System.Data.IDbCommand)">
            <summary>
            Executes a command on the data store
            </summary>
            <param name="command">The command to execute</param>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.GetSelectList(System.Type)">
            <summary>
            Returns a comma separated list of the fields on an object
            </summary>
            <param name="t">The type</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.GetSelectList``1">
            <summary>
            Returns a comma separated list of the fields on an object
            </summary>
            <typeparam name="T">The type</typeparam>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.Query``1">
            <summary>
            This function will return an IQueryable appropriate for using with LINQ
            </summary>
            <typeparam name="T">The type to query</typeparam>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.IDataStore.GetQueryMapper">
            <summary>
            Returns the query mapper to use when doing LINQ
            </summary>
            <returns></returns>
        </member>
        <member name="E:DataAccess.Core.Interfaces.IDataStore.ObjectLoaded">
            <summary>
            This event will fire anytime an object is being loaded
            </summary>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataStore.Connection">
            <summary>
            Gets or sets the DataConnection
            </summary>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataStore.ExecuteComamands">
            <summary>
            Gets or sets the command executor
            </summary>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataStore.TypeInformationParser">
            <summary>
            Gets or sets the type information parser.
            </summary>
        </member>
        <member name="P:DataAccess.Core.Interfaces.IDataStore.SchemaValidator">
            <summary>
            Gets or sets the schema validator.
            </summary>
            <value>The schema validator.</value>
        </member>
        <member name="T:DataAccess.Core.Attributes.KeyAttribute">
            <summary>
            Indicates that a field represents the primary key of an object
            </summary>
        </member>
        <member name="T:DataAccess.Core.Attributes.DataFieldAttribute">
            <summary>
            Indicates that one or more conventions about a data field need to be changed
            </summary>
        </member>
        <member name="M:DataAccess.Core.Attributes.DataFieldAttribute.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.DataFieldAttribute.FieldName">
            <summary>
            Defaults to property name
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.DataFieldAttribute.SetOnInsert">
            <summary>
            Indicates if the field should be set on insert or not, defaults to true
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.DataFieldAttribute.LoadField">
            <summary>
            Indicates
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.DataFieldAttribute.DefaultValue">
            <summary>
            Indicates the default value of this field, defaults to null
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.DataFieldAttribute.FieldType">
            <summary>
            Indicates the Data type of the data store field, set this if you want to override the default generation
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.DataFieldAttribute.PrimaryKeyType">
            <summary>
            Indicates the type that this field relates to (FK relationship), defaults to null
            </summary>
        </member>
        <member name="P:DataAccess.Core.Attributes.DataFieldAttribute.RelationshipType">
            <summary>
            Indicates the type of fk relationship to generate
            </summary>
        </member>
        <member name="M:DataAccess.Core.Attributes.KeyAttribute.#ctor">
            <summary>
            Default constructor, initializes SetOnInsert=false
            </summary>
        </member>
        <member name="T:DataAccess.Core.TypeConverter">
            <summary>
            A generic type converter
            </summary>
        </member>
        <member name="T:DataAccess.Core.Interfaces.ITypeConverter">
            <summary>
            Represents a class responsible for converting types between .net and the data store
            </summary>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ITypeConverter.ConvertToType(System.Object,System.Type)">
            <summary>
            Converts a data type
            </summary>
            <param name="p">The object to convert</param>
            <param name="type">The type to convert it to</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Interfaces.ITypeConverter.ConvertToType``1(System.Object)">
            <summary>
            Converts a data type
            </summary>
            <typeparam name="T">The type to convert it to</typeparam>
            <param name="p">The object to convert</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.TypeConverter.ConvertToType(System.Object,System.Type)">
            <summary>
            Converts a data type
            </summary>
            <param name="p">The object to convert</param>
            <param name="type">The type to convert it to</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.TypeConverter.ConvertToType``1(System.Object)">
            <summary>
            Converts a data type
            </summary>
            <typeparam name="T">The type to convert it to</typeparam>
            <param name="p">The object to convert</param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:DataAccess.Core.Linq.QueryPolicy" -->
        <member name="M:DataAccess.Core.Linq.QueryPolicy.IsIncluded(System.Reflection.MemberInfo)">
            <summary>
            Determines if a relationship property is to be included in the results of the query
            </summary>
            <param name="member"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.QueryPolicy.IsDeferLoaded(System.Reflection.MemberInfo)">
            <summary>
            Determines if a relationship property is included, but the query for the related data is 
            deferred until the property is first accessed.
            </summary>
            <param name="member"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.Nominator">
            <summary>
            Nominator is a class that walks an expression tree bottom up, determining the set of 
            candidate expressions that are possible columns of a select expression
            </summary>
        </member>
        <member name="T:DataAccess.Core.Attributes.IgnoredFieldAttribute">
            <summary>
            Indicates that a field should be ignored, useful for calculated fields
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.Mapping.SauceMapping.GetEntity(System.Type)">
            <summary>
            Get the meta entity directly corresponding to the CLR type
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Mapping.SauceMapping.CanBeEvaluatedLocally(System.Linq.Expressions.Expression)">
            <summary>
            Determines whether a given expression can be executed locally. 
            (It contains no parts that should be translated to the target environment.)
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.SubqueryRemover">
            <summary>
            Removes one or more SelectExpression's by rewriting the expression tree to not include them, promoting
            their from clause expressions and rewriting any column expressions that may have referenced them to now
            reference the underlying data directly.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:DataAccess.Core.Linq.Common.Translation.SkipToNestedOrderByRewriter" -->
        <member name="T:DataAccess.Core.Linq.PartialEvaluator">
            <summary>
            Rewrites an expression tree so that locally isolatable sub-expressions are evaluated and converted into ConstantExpression nodes.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:DataAccess.Core.Linq.PartialEvaluator.Eval(System.Linq.Expressions.Expression)" -->
        <!-- Badly formed XML comment ignored for member "M:DataAccess.Core.Linq.PartialEvaluator.Eval(System.Linq.Expressions.Expression,System.Func{System.Linq.Expressions.Expression,System.Boolean})" -->
        <!-- Badly formed XML comment ignored for member "T:DataAccess.Core.Linq.Common.SubtreeEvaluator" -->
        <member name="T:DataAccess.Core.ExecuteCommands">
            <summary>
            A generic command executor
            </summary>
        </member>
        <member name="M:DataAccess.Core.ExecuteCommands.ExecuteCommandQuery(System.Data.IDbCommand,DataAccess.Core.Interfaces.IDataConnection)">
            <summary>
            Executes a command and returns the result
            </summary>
            <param name="command">The command to execute</param>
            <param name="connection">The connection to use</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.ExecuteCommands.ExecuteCommand(System.Data.IDbCommand,DataAccess.Core.Interfaces.IDataConnection)">
            <summary>
            Executes a command on the data store
            </summary>
            <param name="command">The command to execute</param>
            <param name="connection">The connection to use</param>
        </member>
        <member name="T:DataAccess.Core.DataStore">
            <summary>
            A data store
            </summary>
        </member>
        <member name="M:DataAccess.Core.DataStore.#ctor(DataAccess.Core.Interfaces.IDataConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:DataAccess.Core.DataStore"/> class.
            </summary>
            <param name="Connection">The data connection</param>
        </member>
        <member name="M:DataAccess.Core.DataStore.#ctor(DataAccess.Core.Interfaces.IDataConnection,DataAccess.Core.Interfaces.IExecuteDatabaseCommand,DataAccess.Core.Interfaces.ITypeInformationParser)">
            <summary>
            Initializes a new instance of the <see cref="T:DataAccess.Core.DataStore"/> class.
            </summary>
            <param name="Connection">The data connection.</param>
            <param name="ExecuteComamands">The command executor.</param>
            <param name="TypeParser">The type parser.</param>
        </member>
        <member name="M:DataAccess.Core.DataStore.LoadObject(System.Object)">
            <summary>
            Loads an object from the data store, the key must be set
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.LoadObject(System.Object,System.Boolean)">
            <summary>
            Loads an object from the data store, the key must be set
            </summary>
            <param name="item">The object to load</param>
            <param name="LoadAllFields">If true the loadfield=false will be ignored</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.InsertObject(System.Object)">
            <summary>
            Inserts an object
            </summary>
            <param name="item">The item.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.LoadObject(System.Type,System.Object)">
            <summary>
            Loads an object
            </summary>
            <param name="item">The type to load</param>
            <param name="PrimaryKey">The primary key.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.LoadObject``1(System.Object)">
            <summary>
            Loads an object
            </summary>
            <typeparam name="T">The type to load</typeparam>
            <param name="PrimaryKey">The primary key.</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.LoadObject``1(System.Object,System.Boolean)">
            <summary>
            Loads an object
            </summary>
            <typeparam name="T">The type to load</typeparam>
            <param name="PrimaryKey">The primary key</param>
            <param name="LoadAllFields">if set to <c>true</c> [The load field attribute tag is ignored].</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.LoadObject(System.Type,System.Object,System.Boolean)">
            <summary>
            Loads an object.
            </summary>
            <param name="item">The type to load.</param>
            <param name="key">The primary field</param>
            <param name="LoadAllFields">if set to <c>true</c> [The load field attribute tag is ignored].</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.DeleteObject(System.Type,System.Object)">
            <summary>
            Deletes an object
            </summary>
            <param name="item">The type to delete</param>
            <param name="key">The primary key to delete on</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.DeleteObject(System.Object)">
            <summary>
            Deletes an objet from the data store, primary key must be set
            </summary>
            <param name="item">The item to remove</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.DeleteObject``1(System.Object)">
            <summary>
            Deletes an object
            </summary>
            <typeparam name="T">The type to delete</typeparam>
            <param name="primaryKey">The primary key to delete on></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.LoadEntireTable(System.Type)">
            <summary>
            Loads an entire table
            </summary>
            <param name="item">The type to load</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.LoadEntireTable``1">
            <summary>
            Loads an entire table
            </summary>
            <typeparam name="T">The type to load</typeparam>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.GetTableName(System.Type)">
            <summary>
            Returns the resolved table name for a type
            </summary>
            <param name="t">The type</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.GetTableName``1">
            <summary>
            Returns the resolved table name for a type
            </summary>
            <typeparam name="T">The type</typeparam>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.GetKeyForItemType(System.Type,System.Object)">
            <summary>
            Returns the key value for an object
            </summary>
            <param name="type">The type to check</param>
            <param name="item">The object to extract from</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.InsertObjects(System.Collections.IList)">
            <summary>
            Inserts a list of items into the data store
            </summary>
            <param name="items">The items to insert</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.IsNew(System.Object)">
            <summary>
            Determines if an object already exists in the data store, based on the primary key
            </summary>
            <param name="item">The object to check</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.UpdateObject(System.Object)">
            <summary>
            Updates an object on the data store, primary key must be set
            </summary>
            <param name="item">The item to update</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ExecuteCommand(System.Data.IDbCommand)">
            <summary>
            Executes a command on the data store
            </summary>
            <param name="command">The command to execute</param>
        </member>
        <member name="M:DataAccess.Core.DataStore.ExecuteCommandLoadList(System.Type,System.Data.IDbCommand)">
            <summary>
            Executes a command and loads a list
            </summary>
            <param name="objectType">The type to load in the list</param>
            <param name="command">The command to execute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ExecuteCommandLoadList``1(System.Data.IDbCommand)">
            <summary>
            Executes a command and loads a list
            </summary>
            <typeparam name="T">The type to load in the list</typeparam>
            <param name="command">The command to execute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ExecuteCommandLoadList``1(System.Type,System.Data.IDbCommand)">
            <summary>
            Executes a db command and fills in a list of objects with the result data
            </summary>
            <typeparam name="ReturnType">The type of object to return</typeparam>
            <param name="objectType">The type of object to return.</param>
            <param name="command">The command to execute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.BuildObject(DataAccess.Core.Data.QueryData,DataAccess.Core.Data.TypeInfo,System.Int32)">
            <summary>
            Builds a return object
            </summary>
            <param name="dt">The query data to build with</param>
            <param name="ti">The parsed  type info for the object</param>
            <param name="i">The row in the result set to use</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ProcessCommand(System.Object,System.Data.IDbCommand)">
            <summary>
            Executes a db command and fills in the object, if needed i.e. primary keys on insert etc
            </summary>
            <param name="item">The item being queried with</param>
            <param name="command">The db command</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ProcessCommand(System.Collections.IList,System.Data.IDbCommand)">
            <summary>
            Executes a db command and fills in a list of objects when done, if needed i.e. primary keys on insert etc
            </summary>
            <param name="item">The item being queried with</param>
            <param name="command">The db command</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ProcessCommand(System.Collections.IList,System.Data.IDbCommand,System.Boolean)">
            <summary>
            Executes a db command and fills in a list of objects when done, if needed i.e. primary keys on insert etc
            </summary>
            <param name="item">The item being queried with</param>
            <param name="command">The db command</param>
            <param name="FailIfNoRecords">if set to <c>true</c> and there is no records in the result set, no further processing will be done</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ProcessCommand(System.Object,System.Data.IDbCommand,System.Boolean)">
            <summary>
            Executes a db command and fills in the object, if needed i.e. primary keys on insert etc
            </summary>
            <param name="item">The item being queried with</param>
            <param name="command">The db command</param>
            <param name="FailIfNoRecords">if set to <c>true</c> and there is no records in the result set, no further processing will be done</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.SetFieldData(DataAccess.Core.Data.QueryData,System.Int32,System.Object)">
            <summary>
            Sets the fields on an object
            </summary>
            <param name="qd">The query data to use</param>
            <param name="row">The row to pull from</param>
            <param name="dataItem">The object to set the data on</param>
        </member>
        <member name="M:DataAccess.Core.DataStore.SetConstructorArguments(System.Reflection.ParameterInfo[],DataAccess.Core.Data.TypeInfo,System.Int32,DataAccess.Core.Data.QueryData)">
            <summary>
            Gets a array of constructor arguments to build an object with
            </summary>
            <param name="parminfo">The parms for the constructor.</param>
            <param name="ti">The type info</param>
            <param name="row">The row in the result set to use</param>
            <param name="dt">The query result set</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.SetFieldData(DataAccess.Core.Data.TypeInfo,DataAccess.Core.Data.QueryData,System.Int32,System.Object)">
            <summary>
            Sets the fields on an object
            </summary>
            <param name="info">The information for the type</param>
            <param name="qd">The query data to use</param>
            <param name="row">The row to pull from</param>
            <param name="dataItem">The object to set the data on</param>
        </member>
        <member name="M:DataAccess.Core.DataStore.Query``1">
            <summary>
            This function will return an IQueryable appropriate for using with LINQ
            </summary>
            <typeparam name="T">The type to query</typeparam>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.GetQueryMapper">
            <summary>
            Returns the query mapper to use when doing LINQ
            </summary>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.GetSelectList``1">
            <summary>
            Returns a comma separated list of the fields on an object
            </summary>
            <typeparam name="T">The type</typeparam>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ExecuteQuery(System.Data.IDbCommand)">
            <summary>
            Executes a command
            </summary>
            <param name="command">The command to execute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.ExecuteCommandLoadObject``1(System.Data.IDbCommand)">
            <summary>
            Execute a command and loads an object
            </summary>
            <typeparam name="T">The type to load</typeparam>
            <param name="command">The command to execute</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.DataStore.GetSelectList(System.Type)">
            <summary>
            Returns a comma separated list of the fields on an object
            </summary>
            <param name="t">The type</param>
            <returns></returns>
        </member>
        <member name="E:DataAccess.Core.DataStore.ObjectLoaded">
            <summary>
            This event will fire anytime an object is being loaded
            </summary>
        </member>
        <member name="P:DataAccess.Core.DataStore.Connection">
            <summary>
            Gets or sets the DataConnection
            </summary>
            <value></value>
        </member>
        <member name="P:DataAccess.Core.DataStore.ExecuteComamands">
            <summary>
            Gets or sets the command executor
            </summary>
            <value></value>
        </member>
        <member name="P:DataAccess.Core.DataStore.TypeInformationParser">
            <summary>
            Gets or sets the type information parser.
            </summary>
            <value></value>
        </member>
        <member name="P:DataAccess.Core.DataStore.SchemaValidator">
            <summary>
            Gets or sets the schema validator.
            </summary>
            <value>The schema validator.</value>
        </member>
        <member name="T:DataAccess.Core.TypeParser">
            <summary>
            A caching type information parser, the type will be parsed once and then stored for later retrieval
            </summary>
        </member>
        <member name="F:DataAccess.Core.TypeParser._typeInfo">
            <summary>
            The type information cache
            </summary>
        </member>
        <member name="F:DataAccess.Core.TypeParser._connection">
            <summary>
            The data store using this parser
            </summary>
        </member>
        <member name="M:DataAccess.Core.TypeParser.#ctor(DataAccess.Core.Interfaces.IDataStore)">
            <summary>
            Initializes a new instance of the <see cref="T:DataAccess.Core.TypeParser"/> class.
            </summary>
            <param name="dstore">The data store using this parser</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.GetTypeFields(System.Type)">
            <summary>
            Gets the types fields.
            </summary>
            <param name="dataType">The type to parse</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.TypeParser.GetPrimaryKeys(System.Type)">
            <summary>
            Gets the primary keys for a type
            </summary>
            <param name="dataType">The type to parse</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.TypeParser.GetTypeInfo(System.Type)">
            <summary>
            Gets a lot of information from a type
            </summary>
            <param name="type">The type to parse</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.TypeParser.ParseAdditionalInitilization(System.Type,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Parses the additional init attribute
            </summary>
            <param name="type">The type to parse</param>
            <param name="toAdd">What to add the data to</param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:DataAccess.Core.TypeParser.ParseBypass(System.Type,DataAccess.Core.Data.TypeInfo)" -->
        <member name="M:DataAccess.Core.TypeParser.ParseDataFields(System.Type,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Parses data field information from a type
            </summary>
            <param name="type">The type to parse</param>
            <param name="toAdd">What to add the data to</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.ParseForeignKey(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Attributes.DataFieldAttribute)">
            <summary>
            Parses foreign key information for a data field
            </summary>
            <param name="dfi">The field to check</param>
            <param name="dField">The data attribute if present, null otherwise</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.ParseLoad(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Attributes.DataFieldAttribute)">
            <summary>
            Determines if a field should be loaded
            </summary>
            <param name="dfi">The field to check</param>
            <param name="dField">The data attribute if present, null otherwise</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.ParseSetOnInsert(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Attributes.DataFieldAttribute)">
            <summary>
            Determines if a field should be inserted
            </summary>
            <param name="dfi">The field to check</param>
            <param name="dField">The data attribute if present, null otherwise</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.ParseFieldName(DataAccess.Core.Data.DataFieldInfo,DataAccess.Core.Attributes.DataFieldAttribute,System.Reflection.PropertyInfo)">
            <summary>
            Determines a fields name to use on the data store
            </summary>
            <param name="dfi">The field to check</param>
            <param name="dField">The data attribute if present, null otherwise</param>
            <param name="pi">The property information for the field</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.ParsePropertyInfo(DataAccess.Core.Data.DataFieldInfo,System.Reflection.PropertyInfo)">
            <summary>
            Gets some stuff out of the property info
            </summary>
            <param name="dfi">The field to check</param>
            <param name="pi">The property information for the field</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.ParsePrimaryFieldType(DataAccess.Core.Data.DataFieldInfo,System.Reflection.PropertyInfo)">
            <summary>
            If a field has a primary key type defined, gets the information for it
            </summary>
            <param name="dfi">The field to check</param>
            <param name="pi">The property information for the field</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.ParseTableName(System.Type,DataAccess.Core.Data.TypeInfo)">
            <summary>
            Determines the table name to use on the data store
            </summary>
            <param name="type">The type</param>
            <param name="toAdd">What to add the data to</param>
        </member>
        <member name="M:DataAccess.Core.TypeParser.GenTableName(System.Type)">
            <summary>
            Adds an s to the table name if there is not one there already
            </summary>
            <param name="type">The type to check</param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.DBQueryProvider.GetExecutionPlan(System.Linq.Expressions.Expression)">
            <summary>
            Convert the query expression into an execution plan
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <!-- Badly formed XML comment ignored for member "T:DataAccess.Core.Linq.Common.Translation.SkipToRowNumberRewriter" -->
        <member name="T:DataAccess.Core.Linq.Common.Expressions.SelectExpression">
            <summary>
            A custom expression node used to represent a SQL SELECT expression
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.ExecutionBuilder">
            <summary>
            Builds an execution plan for a query expression
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.ConstraintType.AND">
            <summary>
            Will add an "AND" if needed
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.ConstraintType.OR">
            <summary>
            Will add an "OR" if needed
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.RelationshipBinder">
            <summary>
            Translates accesses to relationship members into projections or joins
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.OrderByRewriter">
            <summary>
            Moves order-bys to the outermost select if possible
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Translation.OrderByRewriter.PrependOrderings(System.Collections.Generic.IList{DataAccess.Core.Linq.Common.Expressions.OrderExpression})">
            <summary>
            Add a sequence of order expressions to an accumulated list, prepending so as
            to give precedence to the new expressions over any previous expressions
            </summary>
            <param name="newOrderings"></param>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.Translation.OrderByRewriter.RebindOrderings(System.Collections.Generic.IEnumerable{DataAccess.Core.Linq.Common.Expressions.OrderExpression},DataAccess.Core.Linq.Common.TableAlias,System.Collections.Generic.HashSet{DataAccess.Core.Linq.Common.TableAlias},System.Collections.Generic.IEnumerable{DataAccess.Core.Linq.Common.ColumnDeclaration})">
            <summary>
            Rebind order expressions to reference a new alias and add to column declarations if necessary
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Translation.ClientJoinedProjectionRewriter">
            <summary>
            rewrites nested projections into client-side joins
            </summary>
        </member>
        <member name="T:DataAccess.Core.Linq.Common.Language.SqlFormatter">
            <summary>
            Formats a query expression into common SQL language syntax
            </summary>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.QueryPolice.Translate(System.Linq.Expressions.Expression)">
            <summary>
            Provides policy specific query translations.  This is where choices about inclusion of related objects and how
            heirarchies are materialized affect the definition of the queries.
            </summary>
            <param name="expression"></param>
            <returns></returns>
        </member>
        <member name="M:DataAccess.Core.Linq.Common.QueryPolice.BuildExecutionPlan(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression)">
            <summary>
            Converts a query into an execution plan.  The plan is an function that executes the query and builds the
            resulting objects.
            </summary>
            <param name="projection"></param>
            <param name="provider"></param>
            <returns></returns>
        </member>
        <member name="T:DataAccess.Core.Events.ObjectInitializedEventArgs">
            <summary>
            Event arguments for when an object is loading
            </summary>
        </member>
        <member name="M:DataAccess.Core.Events.ObjectInitializedEventArgs.#ctor(System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:DataAccess.Core.Events.ObjectInitializedEventArgs"/> class.
            </summary>
            <param name="item">The item.</param>
        </member>
        <member name="P:DataAccess.Core.Events.ObjectInitializedEventArgs.Item">
            <summary>
            The item that was just loaded
            </summary>
        </member>
        <member name="T:DataAccess.Core.Data.WhereType">
            <summary>
            The type of where to add
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.LessThan">
            <summary>
            
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.GreaterThan">
            <summary>
            
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.Equal">
            <summary>
            
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.LessThanEqual">
            <summary>
            
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.GreaterThanEqual">
            <summary>
            
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.Contains">
            <summary>
            %($arg)%
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.StartsWith">
            <summary>
            ($arg)%
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.EndsWith">
            <summary>
            %($arg)
            </summary>
        </member>
        <member name="F:DataAccess.Core.Data.WhereType.NotEqual">
            <summary>
            
            </summary>
        </member>
    </members>
</doc>
